perm filename ALFOUT.DIF[MF,DEK] blob sn#557229 filedate 1981-01-22 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 1,1
C00009 00003	  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 2,2
C00012 00004	  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 2,2
C00013 ENDMK
C⊗;
  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 1,1

**** File 1) ALFOUT.SAI[ALF,DEK]/1P/6L
1)	C00019 00004	Conversion to Alphatype format
1)	C00028 ENDMK
1)	C⊗;
1)	entry; begin comment The Alphatype output submodule of METAFONT;
1)	require "MFHDR.SAI[mf,dek]" source_file;
1)	comment change that to "[tex,sys]" when making SAVOUT.REL;
1)	comment if SPECRAST is true, rename ALFOUT.REL to ALFBIG.REL afterwards;
1)	comment if SPECRAST is false, rename ALFOUT.REL to ALFNRM.REL afterwards;
1)	comment Cleaning up the picture;
**** File 2) ALFOUT.DRF[MF,DEK]/1P/6L
2)	C00018 00004	Conversion to Alphatype format
2)	C00027 ENDMK
2)	C⊗;
2)	entry; begin comment The Alphatype output submodule of METAFONT;
2)	require "MFHDR.SAI" source_file;
2)	comment change that to "[tex,sys]" when making SAVOUT.REL;
2)	comment Cleaning up the picture;
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/24L
1)			begin integer t,tt; t←rast[xw];
1)			tt←t lor (t lsh -1);
1)			tt←tt lor (tt lsh -2);
1)			rast[xw]←tt lor (tt lsh -3) lor (-(z land -z));
1)			z←t lsh (bitsperwd-6);
**** File 2) ALFOUT.DRF[MF,DEK]/2P/22L
2)			begin integer t,tt; var!gets!rast(t,xw);
2)			tt←t lor (t lsh -1);
2)			tt←tt lor (tt lsh -2);
2)			rast!gets!expr(xw,tt lor (tt lsh -3) lor (-(z land -z)));
2)			z←t lsh (bitsperwd-6);
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/37L
1)		zz[1]←rast[xw] lor rast[xw+1]; zz[2]←zz[1] lor rast[xw+2];
1)		zz[3]←zz[2] lor rast[xw+3]; zz[4]←zz[3] lor rast[xw+4];
1)		zz[5]←zz[4] lor rast[xw+5]; zz[6]←zz[5] lor rast[xw+6];
1)		k←6; xwh←xw-ylow+yhigh-1; while xw<xwh do
1)			begin xw←xw+1; k←k+1; if k>6 then k←0;
1)			if xw+5≤xwh then zz[k]←rast[xw] lor rast[xw+1] lor rast[xw+2] lor
1)				rast[xw+3] lor rast[xw+4] lor rast[xw+5] lor rast[xw+6]
1)			else	begin integer xwi,acc; acc←rast[xw]; xwi←xw;
1)				while xwi≤xwh do
1)					begin xwi←xwi+1; acc←acc lor rast[xwi];
1)					end;
  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 2,2

**** File 2) ALFOUT.DRF[MF,DEK]/2P/35L
2)	IFXMEM	xbltit(location(zz[0]),rast!loc(xw),7);
2)		zz[1]←zz[0] lor zz[1]; zz[2]←zz[1] lor zz[2];
2)		zz[3]←zz[2] lor zz[3]; zz[4]←zz[3] lor zz[4];
2)		zz[5]←zz[4] lor zz[5]; zz[6]←zz[5] lor zz[6];
2)	ELSEC	zz[1]←rast[xw] lor rast[xw+1]; zz[2]←zz[1] lor rast[xw+2];
2)		zz[3]←zz[2] lor rast[xw+3]; zz[4]←zz[3] lor rast[xw+4];
2)		zz[5]←zz[4] lor rast[xw+5]; zz[6]←zz[5] lor rast[xw+6];
2)	ENDC
2)		k←6; xwh←xw-ylow+yhigh-1; while xw<xwh do
2)			begin xw←xw+1; k←k+1; if k>6 then k←0;
2)			if xw+5≤xwh then var!gets!seven!rast!lors(zz[k],xw)
2)			else	begin integer xwi,acc; var!gets!rast(acc,xw); xwi←xw;
2)				while xwi≤xwh do
2)					begin xwi←xwi+1; var!gets!rast!lor!var(acc,xwi);
2)					end;
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/50L
1)			rast[xw]←zz[0] land zz[1] land zz[2] land zz[3] land zz[4] land
1)				zz[5] land zz[6];
1)			end;
**** File 2) ALFOUT.DRF[MF,DEK]/2P/52L
2)			rast!gets!expr(xw,zz[0] land zz[1] land zz[2] land zz[3] land 
2)				zz[4] land zz[5] land zz[6]);
2)			end;
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/58L
1)		begin xw←xleft*rspan+y; xwh←xright*rspan+y; z←0; u←rast[xw];
1)		while xw≤xwh do
**** File 2) ALFOUT.DRF[MF,DEK]/2P/60L
2)		begin xw←xleft*rspan+y; xwh←xright*rspan+y; z←0; var!gets!rast(u,xw);
2)		while xw≤xwh do
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/63L
1)			w←rast[xw+rspan];
1)			u1←(z lsh (bitsperwd-6)) lor (u lsh -6);
**** File 2) ALFOUT.DRF[MF,DEK]/2P/65L
2)			var!gets!rast(w,xw+rspan);
2)			u1←(z lsh (bitsperwd-6)) lor (u lsh -6);
***************


  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 2,2

**** File 1) ALFOUT.SAI[ALF,DEK]/2P/75L
1)			rast[xw]←(t lsh 12) lor (tt lsh -12);
1)			xw←xw+rspan; z←u; u←w;
1)			end;
1)		rast[xwh+rspan]←0;
1)		end;
**** File 2) ALFOUT.DRF[MF,DEK]/2P/77L
2)			rast!gets!expr(xw,(t lsh 12) lor (tt lsh -12));
2)			xw←xw+rspan; z←u; u←w;
2)			end;
2)		rast!gets!expr(xwh+rspan,0);
2)		end;
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/89L
1)			if xw+6≤xwh then zz[k]←rast[xw] land rast[xw+1] land rast[xw+2] land
1)				rast[xw+3] land rast[xw+4] land rast[xw+5] land rast[xw+6]
1)			else zz[k]←0;
1)			rast[xw]←zz[0] lor zz[1] lor zz[2] lor zz[3] lor zz[4] lor
1)				zz[5] lor zz[6];
1)			xw←xw+1; k←k+1; if k>6 then k←0;
**** File 2) ALFOUT.DRF[MF,DEK]/2P/91L
2)			if xw+6≤xwh then var!gets!seven!rast!lands(zz[k],xw)
2)			else zz[k]←0;
2)			rast!gets!expr(xw,zz[0] lor zz[1] lor zz[2] lor zz[3] lor
2)				  zz[4] lor zz[5] lor zz[6]);
2)			xw←xw+1; k←k+1; if k>6 then k←0;
***************


**** File 1) ALFOUT.SAI[ALF,DEK]/2P/103L
1)			begin integer t,tt; t←rast[xw] land (all_ones lsh (bitsperwd-6));
1)			tt←((rast[xw] land (all_ones lsh -6)) lor z) rot 6;
1)			tt←tt lor (tt lsh -1);
1)			tt←tt lor (tt lsh -2);
1)			rast[xw]←tt lor (tt lsh -3) lor (-(t land -t));
1)			z←t;
**** File 2) ALFOUT.DRF[MF,DEK]/2P/104L
2)			begin integer r,t,tt; var!gets!rast(r,xw);
2)			t←r land (all_ones lsh (bitsperwd-6));
2)			tt←((r land (all_ones lsh -6)) lor z) rot 6;
2)			tt←tt lor (tt lsh -1);
2)			tt←tt lor (tt lsh -2);
2)			rast!gets!expr(xw,tt lor (tt lsh -3) lor (-(t land -t)));
2)			z←t;
***************

  1) ALFOUT.SAI[ALF,DEK] and 2) ALFOUT.DRF[MF,DEK]	1-22-81 11:21	pages 2,2


**** File 1) ALFOUT.SAI[ALF,DEK]/3P/97L
1)			if y<yhigh and xw>xw0 then za←rast[xw+1] else za←0;
1)			zb←(za lsh 1)+zb;
1)			zc←zd lsh (1-bitsperwd);
1)			if y≥ylow and xw>xw0 then zd←rast[xw] else zd←0;
1)			zc←(zd lsh 1)+zc;
**** File 2) ALFOUT.DRF[MF,DEK]/3P/97L
2)			if y<yhigh and xw>xw0 then var!gets!rast(za,xw+1) else za←0;
2)			zb←(za lsh 1)+zb;
2)			zc←zd lsh (1-bitsperwd);
2)			if y≥ylow and xw>xw0 then var!gets!rast(zd,xw) else zd←0;
2)			zc←(zd lsh 1)+zc;
***************